/* SPDX-License-Identifier: GPL-2.0 */

#ifndef EULEROS_DIM_CORE_STATUS_H
#define EULEROS_DIM_CORE_STATUS_H

enum dim_core_running_status {
	DIM_OFF,
	DIM_NO_BASELINE,
	DIM_BASELINE_RUNNING,
	DIM_MEASURE_RUNNING,
	DIM_PROTECTED,
	DIM_ERROR,
	DIM_STATUS_LAST,
};

void dim_init_running_status(void);
int dim_lock_running_status(void);
void dim_lock_running_status_waiting(void);
void dim_unlock_running_status(void);
int dim_set_running_status(enum dim_core_running_status status);
enum dim_core_running_status dim_get_running_status(void);
const char *dim_get_running_status_str(void);

#endif
